// -----------------------------------------------------------------------------
// Generate By Furion Tools v1.6.0                            
// -----------------------------------------------------------------------------

using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;

#nullable disable

namespace iemtm.WeChat.Core
{
    public partial class AnnounceAudit : IEntity<MasterDbContextLocator>, IEntityTypeBuilder<AnnounceAudit, MasterDbContextLocator>
    {

        public int Id { get; set; }
        public string AnnounceCode { get; set; }
        public int? AnnounceStatus { get; set; }
        public string AuditRemark { get; set; }
        public int? GenerationForCompanyType { get; set; }
        public string AuditCode { get; set; }
        public string AuditName { get; set; }
        public DateTime? AduitTime { get; set; }
        public decimal? AuditRunningTotalPeriod { get; set; }
        public string OperatorRejectCode { get; set; }
        public string OperatorRejectName { get; set; }
        public DateTime? OperatorRejectTime { get; set; }
    
        public void Configure(EntityTypeBuilder<AnnounceAudit> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
                entityBuilder.HasIndex(e => e.GenerationForCompanyType, "AnnounceAudit(GenerationForCompanyType)>");

                entityBuilder.HasIndex(e => new { e.AnnounceCode, e.GenerationForCompanyType }, "Only_AnnounceCode,Type")
                    .IsUnique();

                entityBuilder.Property(e => e.AduitTime).HasColumnType("datetime");

                entityBuilder.Property(e => e.AnnounceCode).HasMaxLength(50);

                entityBuilder.Property(e => e.AnnounceStatus).HasDefaultValueSql("((0))");

                entityBuilder.Property(e => e.AuditCode).HasMaxLength(50);

                entityBuilder.Property(e => e.AuditName).HasMaxLength(50);

                entityBuilder.Property(e => e.AuditRemark).HasMaxLength(1000);

                entityBuilder.Property(e => e.AuditRunningTotalPeriod).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.OperatorRejectCode).HasMaxLength(100);

                entityBuilder.Property(e => e.OperatorRejectName).HasMaxLength(100);

                entityBuilder.Property(e => e.OperatorRejectTime).HasColumnType("datetime");
        }

    }
}

